package fr.musique.service;

import java.util.ArrayList;
import java.util.List;

import javax.jws.WebService;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import fr.musique.bean.Album;
import fr.musique.itf.AlbumItf;

@Service("albumService")
@WebService(endpointInterface = "fr.musique.service.AlbumService")
public class AlbumServiceImpl implements AlbumService {

	@Autowired
	protected AlbumItf albumItf;

	// Permet de récupérer un objet album en fonction de son id
	@Override
	@Transactional
	public Album get(int id) {
		return this.albumItf.get(id);
	}

	// Permet de récupérer la liste des objets album
	@Override
	@Transactional
	public List<Album> getAll() {
		List<Album> resultats = new ArrayList<Album>();

		for (Album res : this.albumItf.getAll()) {
			resultats.add(res);
		}

		return resultats;
	}

	// Permet de sauvegarder l'objet album
	@Override
	@Transactional
	public void save(Album album) {
		this.albumItf.save(album);
	}

	// Permet de récupérer la liste des objets album ayant pour titre "titre"
	@Override
	public List<Album> getAlbum(String titre) {
		return this.albumItf.getAlbum(titre);
	}
}